package text;

import java.util.Arrays;
import java.util.Random;

/*插入排序*/
public class InsertionSort {
    public static void main(String[] args) {
        sort();
    }
    public static void sort() {
        Random a = new Random();
        int[] x = new int[10];
        for (int i = 0; i < x.length; i++) {
            x[i] = a.nextInt(1000);
        }
        System.out.println("数组的初始样子" + Arrays.toString(x));
        System.out.println("开始排序");
        /*从下标为1的元素开始，反复对比左边的元素*/
        for (int i = 1;i<x.length;i++){
            /*当前需要确定位置的元素的下标*/
            int j = i;
            /*当j>0时循环*/
            while (j>0){
                /*判断j指向的元素与其左侧元素的大小*/
                if (x[j]<x[j-1]){
                    /*左侧呃呃呃元素j-1时更大，执行换位*/
                    int tamp = x[j];
                    x[j] = x[j-1];
                    x[j-1] = tamp;
                    /*j自减，表示向左移动*/
                    j--;
                    System.out.println(Arrays.toString(x));
                }else {
                    /*当不满足条件，（左侧元素小于或等于当前元素）时，跳出当前循环*/
                    break;
                }
            }
            System.out.println();
        }
    }
}